JavaScript Const
const கீவேர்டு ES6 (2015) இல் அறிமுகப்படுத்தப்பட்டது
const உடன் வரையறுக்கப்பட்ட மாறிகள் மீண்டும் அறிவிக்க முடியாதுconst உடன் வரையறுக்கப்பட்ட மாறிகள் மீண்டும் ஒதுக்க முடியாதுconst உடன் வரையறுக்கப்பட்ட மாறிகள் Block Scope கொண்டிருக்கும்Cannot be Reassigned
const கீவேர்டுடன் வரையறுக்கப்பட்ட மாறி மீண்டும் ஒதுக்க முடியாது:
Example: const cannot be reassigned
const PI = 3.141592653589793;
PI = 3.14; // ❌ This will give an error
PI = PI + 10; // ❌ This will also give an error
Must be Assigned
JavaScript const மாறிகள் அறிவிக்கப்படும்போது ஒரு மதிப்பை ஒதுக்க வேண்டும்:
✅ Correct
const PI = 3.14159265359;
மாறி அறிவிப்பில் மதிப்பு ஒதுக்கப்பட்டுள்ளது
❌ Incorrect
const PI; // ❌ Error
PI = 3.14159265359;
மாறி அறிவிப்பில் மதிப்பு ஒதுக்கப்படவில்லை
When to use JavaScript const?
மதிப்பு மாறக்கூடாது என்று உங்களுக்குத் தெரிந்தால் எப்போதும் ஒரு மாறியை const உடன் அறிவிக்கவும்.
நீங்கள் அறிவிக்கும்போது const பயன்படுத்தவும்:
Array
புதிய வரிசை (Array)
Object
புதிய பொருள் (Object)
Function
புதிய செயல்பாடு (Function)
RegExp
புதிய வழக்கமான வெளிப்பாடு (Regular Expression)
சிறந்த நடைமுறை:
எப்போதும் முதலில் const பயன்படுத்தவும், பின்னர் மட்டுமே நீங்கள் மறுஒதுக்கம் செய்ய வேண்டியிருந்தால் let க்கு மாறவும். var ஐ ஒருபோதும் பயன்படுத்தாதீர்கள்.
Constant Objects and Arrays
const கீவேர்டு சிறிது தவறாக புரிந்து கொள்ளப்படுகிறது.
இது ஒரு நிலையான மதிப்பை வரையறுக்காது. இது ஒரு மதிப்புக்கான நிலையான குறிப்பை வரையறுக்கிறது.
| You can NOT: | But you CAN: |
|---|---|
| நிலையான மதிப்பை மீண்டும் ஒதுக்கவும் | நிலையான வரிசையின் உறுப்புகளை மாற்றவும் |
| நிலையான வரிசையை மீண்டும் ஒதுக்கவும் | நிலையான பொருளின் பண்புகளை மாற்றவும் |
| நிலையான பொருளை மீண்டும் ஒதுக்கவும் | வரிசைக்கு உறுப்புகளைச் சேர்க்கவும் |
Constant Arrays
நீங்கள் ஒரு நிலையான வரிசையின் உறுப்புகளை மாற்றலாம்:
Example: Modifying constant array
// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];
// You can change an element:
cars[0] = "Toyota"; // ✅ Allowed
// You can add an element:
cars.push("Audi"); // ✅ Allowed
ஆனால் நீங்கள் வரிசையை மீண்டும் ஒதுக்க முடியாது:
Example: Cannot reassign constant array
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ❌ ERROR
புரிதல்:
const வரிசை மாறி எதைச் சுட்டிக்காட்டுகிறது என்பதை மாற்றாது - இது வரிசையை மாற்றுவதைத் தடுக்காது.
Constant Objects
நீங்கள் ஒரு நிலையான பொருளின் பண்புகளை மாற்றலாம்:
Example: Modifying constant object
// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};
// You can change a property:
car.color = "red"; // ✅ Allowed
// You can add a property:
car.owner = "Johnson"; // ✅ Allowed
ஆனால் நீங்கள் பொருளை மீண்டும் ஒதுக்க முடியாது:
Example: Cannot reassign constant object
const car = {type:"Fiat", model:"500", color:"white"};
car = {type:"Volvo", model:"EX60", color:"red"}; // ❌ ERROR
Difference Between var, let and const
| Feature | var | let | const |
|---|---|---|---|
| Scope | No Block Scope | Block Scope | Block Scope |
| Redeclare | Yes | No | No |
| Reassign | Yes | Yes | No |
| Hoisted | Yes | No | No |
| Binds this | Yes | No | No |
What is Good?
let மற்றும் const Block Scope கொண்டிருக்கின்றனlet மற்றும் const மீண்டும் அறிவிக்க முடியாதுlet மற்றும் const பயன்படுத்துவதற்கு முன் அறிவிக்கப்பட வேண்டும்let மற்றும் const this உடன் bind செய்யாதுlet மற்றும் const hoist செய்யப்படுவதில்லைWhat is Not Good?
var அறிவிக்கப்பட வேண்டியதில்லை (டிஃபால்ட் global)var hoist செய்யப்படுகிறது (அறிவிப்புக்கு முன் பயன்படுத்தலாம்)var this உடன் bind செய்கிறதுBrowser Support
let மற்றும் const கீவேர்டுகள் Internet Explorer 11 அல்லது அதற்கு முந்தைய பதிப்புகளில் ஆதரிக்கப்படவில்லை.
| Browser | Version | Release Date |
|---|---|---|
| Chrome | 49 | Mar, 2016 |
| Edge | 12 | Jul, 2015 |
| Firefox | 36 | Jan, 2015 |
| Safari | 11 | Sep, 2017 |
| Opera | 36 | Mar, 2016 |
Block Scope
const உடன் ஒரு மாறியை அறிவிப்பது Block Scope பற்றி let போன்றது.
Example: Block Scope with const
const x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
கற்றல்:
Block Scope பற்றி மேலும் அறிய JavaScript Scope அத்தியாயத்தைப் படியுங்கள்.
Redeclaring Rules
ஒரு JavaScript var மாறியை மீண்டும் அறிவிப்பது ஒரு நிரலில் எங்கும் அனுமதிக்கப்படுகிறது:
Example: Allowed with var
var x = 2; // Allowed
var x = 3; // Allowed
x = 4; // Allowed
அதே scope இல் இருக்கும் ஒரு இருக்கும் var அல்லது let மாறியை const ஆக மீண்டும் அறிவிப்பது அனுமதிக்கப்படவில்லை:
Example: Not allowed to redeclare as const
var x = 2; // Allowed
const x = 2; // ❌ Not allowed
{
let x = 2; // Allowed
const x = 2; // ❌ Not allowed
}
{
const x = 2; // Allowed
const x = 2; // ❌ Not allowed
}
மற்றொரு scope இல், அல்லது மற்றொரு தொகுதியில், const உடன் ஒரு மாறியை மீண்டும் அறிவிப்பது அனுமதிக்கப்படுகிறது:
Example: Allowed in different scopes
const x = 2; // Allowed
{
const x = 3; // Allowed (different block)
}
{
const x = 4; // Allowed (different block)
}
Hoisting
var உடன் வரையறுக்கப்பட்ட மாறிகள் மேலே hoist செய்யப்படுகின்றன மற்றும் எந்த நேரத்திலும் துவக்கப்படலாம்.
Example: var Hoisting
carName = "Volvo";
var carName; // ✅ Allowed (hoisted)
கற்றல்:
Hoisting பற்றி மேலும் அறிய விரும்பினால், JavaScript Hoisting அத்தியாயத்தைப் படியுங்கள்.
const உடன் வரையறுக்கப்பட்ட மாறிகள் மேலே hoist செய்யப்படுகின்றன, ஆனால் துவக்கப்படவில்லை.
Example: const Hoisting (Temporal Dead Zone)
alert(carName); // ❌ ReferenceError
const carName = "Volvo";
Temporal Dead Zone:
const மாறிகள் hoist செய்யப்படுகின்றன, ஆனால் "temporal dead zone" இல் இருக்கும். அறிவிப்புக்கு முன் அவற்றைப் பயன்படுத்த முயற்சிப்பது ReferenceError ஐ ஏற்படுத்தும்.